// ==========================================================================
// GFast自动生成model操作代码。
// 生成日期：2023-11-08 10:11:31
// 生成路径: internal/app/plugin/mail/model/plugin_mail.go
// 生成人：gfast
// desc:邮件发送
// company:云南奇讯科技有限公司
// ==========================================================================

package model

import (
	"github.com/gogf/gf/v2/util/gmeta"
	comModel "github.com/tiger1103/gfast/v3/internal/app/common/model"
)

// PluginMailInfoRes is the golang structure for table plugin_mail.
type PluginMailInfoRes struct {
	gmeta.Meta `orm:"table:plugin_mail"`
	Id         uint   `orm:"id,primary" json:"id" dc:""`                   //
	MType      string `orm:"m_type" json:"mType" dc:"邮箱类型"`                // 邮箱类型
	User       string `orm:"user" json:"user" dc:"用户名称"`                   // 用户名称
	Pass       string `orm:"pass" json:"pass" dc:"密码"`                     // 密码
	Host       string `orm:"host" json:"host" dc:"主机地址"`                   // 主机地址
	Port       int    `orm:"port" json:"port" dc:"端口"`                     // 端口
	Status     int    `orm:"status" json:"status" dc:"状态 : 0 - 禁用 1 - 启用"` // 状态 : 0 - 禁用 1 - 启用
	Remark     string `orm:"remark" json:"remark" dc:"        <el-form-item label="备注" prop="remark">
"` //         <el-form-item label="备注" prop="remark">
}

type PluginMailListRes struct {
	Id     uint   `json:"id" dc:""`
	MType  string `json:"mType" dc:"邮箱类型"`
	User   string `json:"user" dc:"用户名称"`
	Pass   string `json:"pass" dc:"密码"`
	Host   string `json:"host" dc:"主机地址"`
	Port   int    `json:"port" dc:"端口"`
	Status int    `json:"status" dc:"状态 : 0 - 禁用 1 - 启用"`
	Remark string `json:"remark" dc:"        <el-form-item label="备注" prop="remark">
"`
}

// PluginMailSearchReq 分页请求参数
type PluginMailSearchReq struct {
	comModel.PageReq
	Id     string `p:"id" dc:""`                                                                 //
	MType  string `p:"mType" dc:"邮箱类型"`                                                          //邮箱类型
	User   string `p:"user" dc:"用户名称"`                                                           //用户名称
	Pass   string `p:"pass" dc:"密码"`                                                             //密码
	Host   string `p:"host" dc:"主机地址"`                                                           //主机地址
	Port   string `p:"port" v:"port@integer#端口需为整数" dc:"端口"`                                     //端口
	Status string `p:"status" v:"status@integer#状态 : 0 - 禁用 1 - 启用需为整数" dc:"状态 : 0 - 禁用 1 - 启用"` //状态 : 0 - 禁用 1 - 启用
}

// PluginMailSearchRes 列表返回结果
type PluginMailSearchRes struct {
	comModel.ListRes
	List []*PluginMailListRes `json:"list"`
}

// PluginMailAddReq 添加操作请求参数
type PluginMailAddReq struct {
	MType  string `p:"mType"  dc:"邮箱类型"`
	User   string `p:"user"  dc:"用户名称"`
	Pass   string `p:"pass"  dc:"密码"`
	Host   string `p:"host"  dc:"主机地址"`
	Port   int    `p:"port"  dc:"端口"`
	Status int    `p:"status" v:"required#状态 : 0 - 禁用 1 - 启用不能为空" dc:"状态 : 0 - 禁用 1 - 启用"`
	Remark string `p:"remark"  dc:"        <el-form-item label="备注" prop="remark">
"`
}

// PluginMailEditReq 修改操作请求参数
type PluginMailEditReq struct {
	Id     uint   `p:"id" v:"required#主键ID不能为空" dc:""`
	MType  string `p:"mType"  dc:"邮箱类型"`
	User   string `p:"user"  dc:"用户名称"`
	Pass   string `p:"pass"  dc:"密码"`
	Host   string `p:"host"  dc:"主机地址"`
	Port   int    `p:"port"  dc:"端口"`
	Status int    `p:"status" v:"required#状态 : 0 - 禁用 1 - 启用不能为空" dc:"状态 : 0 - 禁用 1 - 启用"`
	Remark string `p:"remark"  dc:"        <el-form-item label="备注" prop="remark">
"`
}

// Fill with you ideas below.
type MailReq struct {
	MType   string   `p:"mType"`                       // 邮箱类型
	MailTo  []string `p:"mailTo" v:"required#收件人邮箱必须"` // 目标邮箱集合
	Subject string   `p:"subject" v:"required#邮件标题必须"` // 标题
	Body    string   `p:"body"`                        // 内容
}
